#ifndef _PM_FLOW_IMPL_HPP_
#define _PM_FLOW_IMPL_HPP_

#include "api/pm_flow.hpp"

#include <vector>

/*---------------------------------------------------------------------------*/

namespace ProjectManager {

/*---------------------------------------------------------------------------*/

class FlowImpl
	:	public Flow
{
/*---------------------------------------------------------------------------*/

public:

/*---------------------------------------------------------------------------*/

	FlowImpl( const std::string& _name );

	~FlowImpl();

	const std::string& getName() const;

	void setName( const std::string& _name );

	void addTrigger( const Trigger& _trigger );

	int getTriggersCount() const;

	const Trigger& getTrigger( int _idx ) const;

/*---------------------------------------------------------------------------*/

private:

/*---------------------------------------------------------------------------*/

	std::string m_name;

	std::vector< const Trigger* > m_triggers;

/*---------------------------------------------------------------------------*/

};

/*---------------------------------------------------------------------------*/

} // namespace ProjectManager

/*---------------------------------------------------------------------------*/

#endif // _PM_FLOW_HPP_
